Autor: Walter Dominguez
Data: revisto em jul/2008
Fontes:
1.Fowler, Martin, Uml Essencial, 3ed.,2005, Bokkman
2.Yourdon. Analise estruturada moderna, 3ed, 1990, Campus
3. McMenamim, Sthephen M. e Palmer, John F. Analise essencial de sistemas,1991,McGraw
É um processo de comunicação entre engenheiros de sistemas (analistas de sistemas) e clientes/usuarios do sistema, com o objetivo de definir detalhadamente os requisitos e propósitos de um sistema. Sendo a analise de sistemas um processo de transmissão do conhecimento, envolve 3 etapas:
1.aprendizado: aprender sobre o dominio (Modelo de dominio) do problema onde sistema será inserido;
2.estruturação e representação dos requisitos do sistema (irão aparecer nos casos de uso): consiste da modelagem do sistema propriamente dito (uma abstração da realidade). Como resultado a representação dos requisitos irão aparecer na especificação através dos modelos de análise (na UML são modelos de classe (categorias), casos de uso, atividade (a partir dos processos), diagrama de mudança de estados (ciclo de vida) e diagrama de sequência.
3.validação do modelo obtido: situações complexas do mundo real entendidas e representadas de forma simples, para facilitar a compreensão e validação.
Na análise são modeladas as estruturas internas de um sistema, capazes de satisfazer os requisitos identificados. Enquanto os requisitos são independentes de paradigmas, uma vez que trata os requisitos de uma pespectiva externa, a analise modela as estruturas internas de um sistema que é completamente dependente do paradigma adotado no desenvolvimento. Em ultima instância a análise é a construção de modelos.
No caso de sistemas de informação, geralmente são considerados 3 níveis de abstração :
1. conceitual: caracteristicas do sistema independentes do ambiente computacional (hardware e software) no qual o sistema será implementado. São dependentes da necessidade do usuário.
2. lógico: caracteristicas dependentes de um determinado tipo de sistema computacional,porém independente de produtos especifícos.
3. fisico: caracteristicas dependentes de um sitema computacional especifico,tais como: uma linguagem especifica, um sistema gerenciador de banco de dados e hardware de um determinado fabricante., etc.
Paradigmas de desenvolvimento:
A distancia entre o mundo real e o modelo abstrato construido, chamado gap semântico, quanto menor for mais direto será o mapeamento e mais rápida será a construção da solução do problema. Os paradigmas buscam fornecer meios para diminuir o gap semântico.
Paradigma estruturado: adota uma visão baseada em um modelo entrada-processamento-saida. Os dados são considerados separados das funções que os transformam e a decomposição funcional é usada intensamente.
Paradigma orientado a objetos: pressupõe que o mundo é composto de objeto, onde um objeto é uma entidade que combina estrutura de dados e comportamento funcional.
Métodos de desenvolvimento:
Em função do paradigma que os rege, métodos de analise e projeto de sistemas são classificados como:
Métodos estruturados:
Fazem clara distinção entre funções(ações) e dados que tem origem na arquitetura de hardware de von Neumann, onde é enfatizado a separação entre programa(ativos, pois tem comportamento) e dado (passivo, são afetados pelas funções).
Os métodos orientados as funções tem a ótica das funções que o sistema irá realizar. O sistema é decomposto em funções e os dados são tranformados por elas. A ferramenta básica são os diagramas de fluxo de dados (DFDs)
Os métodos orientados a dados, enfatizam a identificação e estruturação dos dados, subjulgando a análise das funções para um segundo plano. Tem origem no projeto de banco de dados e tem como principal ferramenta o modelo de entiades e relacionamentos)
A analise essencial procurou conciliar as duas abordagens utilizando as duas ferramentas para modelagem de sistemas.
Métodos Orientados a Objetos:
Pressupõe que o mundo real é povoado por objetos e estruturam os sistemas apartir dos objetos existentes no dominio do problema. Um objeto combina estrutura de dados e comportamento funcional.
Os componentes de sistema construido por este método são partes encapsuladas de dados e funções, que podem herdar atributos e comportamento de outros componentes de mesma natureza, e cujos componentes comunicam-se entre si por meio de mensagens, tendo habilidade para tomar várias formas (poliformismo).
Classificação dos conceitos de OO:
Principios para administrar a complexidade: abstração (dados e procedimentos), encapsulamento, modularidade e hierarquia.
Conceitos básicios: objetos, estado, comportamento, identidade e classes e instâncias.
Mecanismos de estruturação: ligações e associações, composição ou agregação, generalização/especialização, herança, e mensagens e métodos.
Conceitos avançados: classes e operações abstratas, sobrecarga, poliformismo e ligação dinâmica.
Modelagem OO:
A linguagem de modelagem padronizado unificou os vários metodos de orientação a objeto e se chamou de UML (Linguagem de Metodos Unificados) .O consórcio que padronização a linguagem se chama OMG (Object Management Group).
Contexto da Análise
Contexto do Sistema
Contexto da Informação
Contexto do Conhecimento
Contexto do Negocio
Contexto do Dado
Contexto do Processo